--- id: TASK-025 title: 'TUI: Per-core CPU bars on System page' status: To Do assignee: [] created_date: '2026-06-12 04:21' labels: - tui - feature dependencies: [] priority: low ordinal: 25000 --- ## Description The System page shows aggregate CPU% but no per-core breakdown. Add a per-core bar section to the CPU panel or as a new row between the sparkline and the process table. Implementation: - `psutil.cpu_percent(percpu=True)` returns a list of per-core percentages - Add this call to `SystemStats.sample()` → `"cores_pct": [...]` - Render as a grid of labeled bars: `C0 [████░░░░] 42% C1 [██░░░░░░] 18% …` - Use Unicode block chars (`█`, `░`) for bars, scaled to a fixed width (e.g. 8 chars) - Color: green < 50%, yellow 50–80%, red > 80% - Layout: 2 or 4 cores per row depending on terminal width / core count - Place in the existing `sys-cpu` panel below the aggregate line, or as a dedicated row ## Acceptance Criteria - [ ] #1 Per-core CPU percentages shown as labeled bars - [ ] #2 Bars are color-coded by utilization level - [ ] #3 Layout adapts to core count (wraps to multiple rows) - [ ] #4 Updates on same SYS_REFRESH_SECS interval as existing system stats - [ ] #5 Fits within sys-cpu panel without requiring scroll on standard terminal widths